// axios的配置文件
import axios from 'axios'

// 声明前缀
let baseURL = ''
// 判断环境，判断服务器，修改前缀
if(process.env.NODE_ENV === 'development') {
  // development  开发环境
  baseURL = '/api'
}else if(process.env.NODE_ENV === 'production') {
  // production 生产环境
  baseURL = ''
}


// 创建自己的axiox实例
let Axios = axios.create({
  // 共用的前缀
  baseURL: baseURL,
  // 超时时间（ms）
  timeout: 1000
})

// 请求拦截器
let myInterceptor = Axios.interceptors.request.use(config => {
  console.log('请求即将发送');
  console.log(111,config);
  return config
}, err => {
  console.log(err);
  return Promise.reject(err);
})

// 响应拦截器
Axios.interceptors.response.use(data => {
  console.log('以获取数据：', data.data);
  return data.data
}, err=> {
  // 对响应错误做点什么
  return Promise.reject(err);
})

// 移除拦截器
// Axios.interceptors.request.eject(myInterceptor);

// 封装get和post

// get 需要的参数：url、params
export function get (url, params) {
  return new Promise((resolve, reject) => {
    Axios.get(url, {
      params: params
    })
    .then(res => {
      resolve(res)
    })
    .catch(err => {
      reject(err)
    })
  })
}

// post 需要的参数：url、data
export function post(url, data) {
  return new Promise((resolve, reject) => {
    Axios.post(url, data)
      .then(res => {
        resolve(res)
      })
      .catch(res => {
        reject(res)
      })
  })
}

// 将改好的Axios实例暴露出去
export default Axios